home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / standards / CCITT / 1992 / X / x511_a.asc < prev    next >
Encoding:
Text File  |  1993-07-15  |  25.8 KB  |  1,137 lines

  1.          The drawings contained in this Recommendation have been done in AUTOCAD
  2.                                                    ANNEX A
  3.                                      (to Recommendation X.511)
  4.                                      Abstract service in ASN.1
  5.                This Annex is part of the standard.
  6.                This Annex includes all of the ASN.1  type,  value  and  macro  definitions
  7.          contained  in  this  Recommendation   in   the   form   of   the   ASN.1   module
  8.          DirectoryAbstractService.
  9.                DirectoryAbstractService      {joint-ISO-CCITT      ds(5)       modules(1)
  10.                   directoryAbstractService(2)}
  11.                DEFINITIONS ::=
  12.                BEGIN
  13.                EXPORTS
  14.                   directory, readPort, searchPort, modifyPort,
  15.                   DirectoryBind, DirectoryBindArgument,
  16.                   DirectoryUnbind,
  17.                   Read, ReadArgument, ReadResult,
  18.                   Abandon, AbandonArgument, AbandonResult,
  19.                   Compare, CompareArgument, CompareResult,
  20.                   List, ListArgument, ListResult,
  21.                   Search, SearchArgument, SearchResult,
  22.                   AddEntry, AddEntryArgument, AddEntryResult,
  23.                   RemoveEntry, RemoveEntryArgument, RemoveEntryResult,
  24.                   ModifyEntry, ModifyEntryArgument, ModifyEntryResult,
  25.                   ModifyRDN, ModifyRDNArgument, ModifyRDNResult,
  26.                   Abandoned, AbandonFailed, AttributeError, NameError,
  27.                   Referral, SecurityError, ServiceError, UpdateError,
  28.                   SecurityParameters;
  29.                IMPORTS
  30.                   informationFramework, authenticationFramework,
  31.                          distributedOperations, directoryObjectIdentifiers
  32.                      FROM UsefulDefinitions {joint-iso-ccitt ds(5) modules(1)
  33.                                              usefulDefinitions(0)}
  34.                OBJECT, PORT, ABSTRACT-BIND, ABSTRACT-UNBIND,
  35.                ABSTRACT-OPERATION, ABSTRACT-ERROR
  36.                      FROM  AbstractServiceNotation {joint-iso-ccitt mhs-motis(6) 
  37.                                              asdc(2) modules(0) notation(1) }
  38.                Attribute, AttributeType, AttributeValue, AttributeValueAssertion,
  39.                DistinguishedName, Name, RelativeDistinguishedName
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                                       Fascicle VIII.8 - Rec. X.511  PAGE27
  71.  
  72.                      FROM  InformationFramework InformationFramework
  73.                id-ot-directory, id-ot-dua, id-pt-read, id-pt-search, id-pt-modify
  74.                      FROM  DirectoryObjectIdentifiers  directoryObjectIdentifiers
  75.                ContinuationReference, OperationProgress
  76.                      FROM  DistributedOperations distributedOperations
  77.                Certificate, CertificationPath, SIGNED,
  78.                PROTECTED, AlgorithmIdentifier
  79.                      FROM  AuthenticationFramework authenticationFramework
  80.                InvokeID,
  81.                      FROM  Remote-Operations-Notation {joint-iso-ccitt
  82.                                              remoteOperations(4) notation(0)};
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.          PAGE27  Fascicle VIII.8 - Rec. X.511
  142.  
  143.                   -- macro for representing optional signing --
  144.                OPTIONALLY-SIGNED MACRO ::=
  145.                BEGIN
  146.                   TYPE NOTATION    ::=  type (Type)
  147.                   VALUE NOTATION ::=  value (VALUE CHOICE { Type, SIGNED Type})
  148.                END
  149.                -- objects and ports --
  150.                directory
  151.                   OBJECT
  152.                       PORTS {readPort [S].
  153.                                searchPort [S],
  154.                                modifyPort [S]}
  155.                ::=  id-ot-directory
  156.                dua
  157.                   OBJECT
  158.                          PORTS { readPort [C],
  159.                                  searchPort [C]
  160.                                  modifyPort [C]}
  161.                ::=  id-ot-dua
  162.                readPort
  163.                      PORT
  164.                            CONSUMER INVOKES {
  165.                                  Read, Compare, Abandon}
  166.                ::=  id-pt-read
  167.                searchPort
  168.                      PORT
  169.                            CONSUMER INVOKES {
  170.                                  List, Search }
  171.                ::=  id-pt-search
  172.                modifyPort
  173.                      PORT
  174.                            CONSUMER INVOKES {
  175.                                  AddEntry, RemoveEntry,
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.                                                       Fascicle VIII.8 - Rec. X.511  PAGE27
  213.  
  214.                                  ModifyEntry, ModifyRDN}
  215.                ::=  id-pt-modify
  216.                -- bind and unbind --
  217.                DirectoryBind ::= ABSTRACT-BIND
  218.                      TO { readPort, searchPort, modifyPort } 
  219.                      BIND
  220.                      ARGUMENT   DirectoryBindArgument
  221.                      RESULT           DirectoryBindResult
  222.                      BIND-ERROR DirectoryBindError
  223.                DirectoryBindArgument  ::=  SET {
  224.                      credentials            [0]  Credentials  OPTIONAL,
  225.                      versions               [1]  Versions DEFAULT v1988}
  226.                Credentials ::=   CHOICE {
  227.                        simple     [0]  SimpleCredentials,
  228.                        strong     [1]  StrongCredentials,
  229.                        externalProcedure [2] EXTERNAL }
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.          PAGE27  Fascicle VIII.8 - Rec. X.511
  284.  
  285.                   SimpleCredentials ::=  SEQUENCE {
  286.                      name             [0] DistinguishedName,
  287.                      validity [1] SET {
  288.                          time1         [0]  UTCTime OPTIONAL,
  289.                          time2         [1]  UTCTime OPTIONAL,
  290.                          random1       [2]  BIT STRING OPTIONAL,
  291.                          random2       [3]  BIT STRING OPTIONAL }
  292.                                              OPTIONAL,
  293.                          password      [2]  OCTET STRING OPTIONAL }
  294.                StrongCredentials ::= SET {
  295.                      certification-path           [0]  CertificationPath OPTIONAL,
  296.                      bind-token             [1]  Token }
  297.                Token  ::=  SIGNED SEQUENCE {
  298.                      algorithm  [0]   AlgorithmIdentifier
  299.                      name       [1]   DistinguishedName,
  300.                      time       [2]   UTCTime,
  301.                      random     [3]   BIT STRING }
  302.                Versions ::=  BIT STRING (v1988(0)}
  303.                DirectoryBindResult       ::=  DirectoryBindArgument
  304.                DirectoryBindError  ::=  SET {
  305.                      versions [0] Versions DEFAULT v1988,
  306.                      CHOICE {
  307.                          serviceError   [1]  ServiceProblem,
  308.                          securityError  [2]  SecurityProblem }}
  309.                DirectoryUnbind ::=  ABSTRACT-UNBIND
  310.                      FROM {readPort, searchPort, modifyPort }
  311.                -- operations, arguments, and results --
  312.                Read  ::=  ABSTRACT-OPERATION
  313.                      ARGUMENT         ReadArgument
  314.                      RESULT                 ReadResult
  315.                      ERRORS {
  316.                          AttributeError, NameError,
  317.                          ServiceError, Referral, Abandoned,
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.                                                       Fascicle VIII.8 - Rec. X.511  PAGE27
  355.  
  356.                          SecurityError }
  357.                ReadArgument ::=  OPTIONALLY-SIGNED SET {
  358.                      object                 [0]  Name,
  359.                      selection              [1]  EntryInformationSelection
  360.                                                    DEFAULT {},
  361.                      COMPONENTS OF CommonArguments }
  362.                ReadResult        ::=  OPTIONALLY-SIGNED SET {
  363.                      entry     [0]  EntryInformation,
  364.                      COMPONENTS OF CommonResults }
  365.                Compare  ::=  ABSTRACT-OPERATION
  366.                      ARGUMENT         CompareArgument
  367.                      RESULT                 CompareResult
  368.                      ERRORS {
  369.                          AttributeError, NameError,
  370.                          ServiceError, Referral, Abandoned,
  371.                          SecurityError }
  372.                CompareArgument  ::=  OPTIONALLY-SIGNED SET {
  373.                      object           [0]  Name,
  374.                      purported        [1]  AttributeValueAssertion,
  375.                      COMPONENTS OF CommonArguments }
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.          PAGE27  Fascicle VIII.8 - Rec. X.511
  426.  
  427.                   CompareResult  ::=  OPTIONALLY-SIGNED SET {
  428.                      DistinguishedName OPTIONAL,
  429.                      matched     [0]  BOOLEAN,
  430.                      fromEntry [1] BOOLEAN DEFAULT TRUE,
  431.                      COMPONENTS OF CommonResults }
  432.                Abandon  ::=  ABSTRACT-OPERATION
  433.                      ARGUMENT AbandonArgument
  434.                      RESULT     AbandonResult
  435.                      ERRORS  {AbandonFailed}
  436.                AbandonArgument ::=  SEQUENCE {
  437.                      InvokeID [0]  InvokeID}
  438.                AbandonResult  ::=      NULL
  439.                List  ::=  ABSTRACT-OPERATION
  440.                      ARGUMENT   ListArgument
  441.                      RESULT           ListResult
  442.                      ERRORS {
  443.                          AttributeError, NameError,
  444.                          ServiceError, Referral, Abandoned,
  445.                          SecurityError }
  446.                ListArgument  ::=  OPTIONALLY-SIGNED SET {
  447.                      object  [0]  Name,
  448.                      COMPONENTS OF CommonArguments }
  449.                ListResult    ::=  OPTIONALLY-SIGNED CHOICE{
  450.                      listInfo SET {
  451.                      DistinguishedName OPTIONAL
  452.                      subordinates [1] SET OF SEQUENCE {
  453.                          RelativeDistinguishedName,
  454.                          aliasEntry    [0]  BOOLEAN DEFAULT FALSE,
  455.                          fromEntry     [1]  BOOLEAN DEFAULT TRUE },
  456.                          partialOutcomeQualifier [2] PartialOutcomeQualifier
  457.                                                    OPTIONAL,
  458.                          COMPONENTS OF CommonResults},
  459.                      uncorrelatedListInfo [0] SET OF
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.                                                       Fascicle VIII.8 - Rec. X.511  PAGE27
  497.  
  498.                          ListResult }
  499.                PartialOutcomeQualifier  ::=  SET {
  500.                      limitProblem     [0]   LimitProblem OPTIONAL,
  501.                      unexplored [1]   SET OF 
  502.                          ContinuationReference OPTIONAL,
  503.                      unavailableCriticalExtensions [2] BOOLEAN DEFAULT FALSE }
  504.                LimitProblem  ::=  INTEGER {
  505.                      timeLimitExceeded      (0),
  506.                      sizeLimitExceeded            (1),
  507.                      administrativeLimitExceeded (2) }
  508.                Search  ::=  ABSTRACT-OPERATION
  509.                      ARGUMENT         SearchArgument
  510.                      RESULT                 SearchResult
  511.                      ERRORS {
  512.                            AttributeError, NameError,
  513.                            ServiceError, Referral, Abandoned,
  514.                            SecurityError }
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.          PAGE27  Fascicle VIII.8 - Rec. X.511
  568.  
  569.                   SearchArgument ::=      OPTIONALLY-SIGNED SET {
  570.                      baseObject [0]  Name,
  571.                      subset                 [1]  INTEGER {
  572.                            baseObject(0),
  573.                            oneLevel(1),
  574.                            wholeSubtree(2)} DEFAULT baseObject,
  575.                      filter                 [2]  Filter DEFAULT and {},
  576.                      searchAliases    [3]  BOOLEAN DEFAULT TRUE,
  577.                      selection              [4]  EntryInformationSelection DEFAULT {},
  578.                      COMPONENTS OF CommonArguments }
  579.                SearchResult  ::= OPTIONALLY-SIGNED
  580.                      CHOICE {
  581.                      searchInfo SET {
  582.                      DistinguishedName OPTIONAL,
  583.                      entries  [0]  SET OF EntryInformation,
  584.                      partialOutcomeQualifier
  585.                          [2] partialOutcomeQualifier OPTIONAL,
  586.                      COMPONENTS OF CommonResults },
  587.                      uncorrelatedSearchInfo [0] SET OF
  588.                            SearchResult }
  589.                AddEntry  ::=  ABSTRACT-OPERATION
  590.                      ARGUMENT   AddEntryArgument
  591.                      RESULT           AddEntryResult
  592.                      ERRORS {
  593.                          AttributeError, NameError,
  594.                          ServiceError, Referral, SecurityError
  595.                          UpdateError }
  596.                AddEntryArgument  ::=  OPTIONALLY-SIGNED SET {
  597.                      object     [0]  DistinguishedName,
  598.                      entry      [1]  SET OF Attribute,
  599.                      COMPONENTS OF CommonArguments}
  600.                AddEntryResult ::=      NULL
  601.                RemoveEntry ::=  ABSTRACT-OPERATION
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.                                                       Fascicle VIII.8 - Rec. X.511  PAGE27
  639.  
  640.                      ARGUMENT   RemoveEntryArgument
  641.                      RESULT           RemoveEntryResult
  642.                      ERRORS {
  643.                          NameError,
  644.                          ServiceError, Referral, SecurityError,
  645.                          UpdateError}
  646.                RemoveEntryArgument  ::=  OPTIONALLY-SIGNED SET {
  647.                      object     [0]  DistinguishedName,
  648.                      COMPONENTS OF CommonArguments }
  649.                RemoveEntryResult  ::=  NULL
  650.                ModifyEntry  ::=  ABSTRACT-OPERATION
  651.                      ARGUMENT   ModifyEntryArgument
  652.                      RESULT           ModifyEntryResult
  653.                      ERRORS {
  654.                          AttributeError, NameError,
  655.                          ServiceError, Referral, SecurityError,
  656.                          UpdateError}
  657.                ModifyEntryArgument  ::=  OPTIONALLY-SIGNED SET {
  658.                      object           [0]   DistinguishedName,
  659.                      changes    [1]   SEQUENCE OF EntryModification,
  660.                      COMPONENTS OF CommonArguments }
  661.                ModifyEntryResult  ::=  NULL
  662.                EntryModification  ::=  CHOICE {
  663.                      addAttribute            [0]  Attribute,
  664.                      removeAttribute   [1]  AttributeType,
  665.                      addValues         [2]  Attribute,
  666.                      removeValues      [3]  Attribute}
  667.                ModifyRDN   ::=  ABSTRACT-OPERATION
  668.                      ARGUMENT         ModifyRDNArgument
  669.                      RESULT           ModifyRDNResult
  670.                      ERRORS      {
  671.                          NameError,
  672.                          ServiceError, Referral, SecurityError,
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.          PAGE27  Fascicle VIII.8 - Rec. X.511
  710.  
  711.                          UpdateError }
  712.                ModifyRDNArgument  ::=  OPTIONALLY-SIGNED SET {
  713.                      object                 [0]  DistinguishedName,
  714.                      newRDN                 [1]  RelativeDistinguishedName,
  715.                      deleteoldRDN     [2]  BOOLEAN DEFAULT FALSE,
  716.                      COMPONENTS OF CommonArguments }
  717.                ModifyRDNResult  ::=  NULL
  718.                --  errors and parameters --
  719.                Abandoned  ::=  ABSTRACT-ERROR  -- not literally an "error"
  720.                AbandonFailed  ::=  ABSTRACT-ERROR
  721.                      PARAMETER SET {
  722.                          problem   [0]  AbandonProblem,
  723.                          operation       [1]  InvokeID}
  724.                AbandonProblem  ::=     INTEGER {
  725.                          noSuchOperation (1),
  726.                          tooLate (2),
  727.                          cannotAbandon (3)}
  728.                Attribute Error ::=     ABSTRACT-ERROR
  729.                      PARAMETER SET {
  730.                          object        [0]  Name,
  731.                          problems            [1]  SET OF SEQUENCE {
  732.                            problem           [0]   AttributeProblem,
  733.                            type              [1]   AttributeType,
  734.                            value             [2]   AttributeValue OPTIONAL }}
  735.                AttributeProblem  ::=
  736.                      INTEGER {
  737.                          noSuchAttributeOrValue (1),
  738.                          invalidAttributeSyntax (2),
  739.                          undefinedAttributeType (3),
  740.                          inappropriateMatching (4),
  741.                          constraintViolation (5),
  742.                      attributeOrValueAlreadyExists (6) }
  743.                NameError  ::=  ABSTRACT-ERROR
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.                                                       Fascicle VIII.8 - Rec. X.511  PAGE27
  781.  
  782.                      PARAMETER SET {
  783.                          problem [0]  NameProblem,
  784.                          matched [1]  Name}
  785.                NameProblem  ::=  INTEGER {
  786.                          noSuchObject (1),
  787.                          aliasProblem (2),
  788.                          invalidAttributeSyntax (3),
  789.                          aliasDereferencingProblem (4)} 
  790.                Referral  ::=  ABSTRACT-ERROR  -- not literally an "error"
  791.                      PARAMETER SET {
  792.                          candidate [0]  ContinuationReference}
  793.                SecurityError  ::=      ABSTRACT-ERROR
  794.                      PARAMETER SET {
  795.                          problem [0] SecurityProblem }
  796.                SecurityProblem  ::= INTEGER {
  797.                      inappropriateAuthentication (1),
  798.                      invalidCredentials (2),
  799.                      insufficientAccessRights (3),
  800.                      invalidSignature (4),
  801.                      protectionRequired (5),
  802.                      noInformation (6) }
  803.                ServiceError  ::= ABSTRACT-ERROR
  804.                      PARAMETER SET {
  805.                          problem [0] ServiceProblem }
  806.                ServiceProblem  ::=     INTEGER {
  807.                      busy (1),
  808.                      unavailable (2),
  809.                      unwillingToPerform (3),
  810.                      chainingRequired (4),
  811.                      unableToProceed (5),
  812.                      invalidReference (6),
  813.                      timeLimitExceeded (7),
  814.                      administrativeLimitExceeded (8),
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.          PAGE27  Fascicle VIII.8 - Rec. X.511
  852.  
  853.                      loopDetected (9),
  854.                      unavailableCriticalExtension (10),
  855.                      outOfScope (11),
  856.                      ditError (12) }
  857.                UpdateError  ::=  ABSTRACT-ERROR
  858.                      PARAMETER SET {
  859.                          problem  [0]  UpdateProblem }
  860.                UpdateProblem  ::=  INTEGER {
  861.                      namingViolation (1),
  862.                      objectClassViolation (2),
  863.                      notAllowedOnNonLeaf (3),
  864.                      notAllowedOnRDN (4),
  865.                      entryAlreadyExists (5),
  866.                      affectsMultipleDSAs (6),
  867.                      objectClassModificationProhibited (7)}
  868.                -- common arguments/results --
  869.                CommonArguments  ::=  SET {
  870.                      [30] ServiceControls DEFAULT {}
  871.                      [29] SecurityParameters DEFAULT {},
  872.                      requestor [28] DistinguishedName OPTIONAL,
  873.                      [27] OperationProgress DEFAULT notStarted,
  874.                      aliasedRDNs [26] INTEGER OPTIONAL,
  875.                      extensions [25] SET OF Extension OPTIONAL }
  876.                Extension  ::=    SET {
  877.                      identifier       [0]  INTEGER,
  878.                      critical         [1]  BOOLEAN DEFAULT FALSE,
  879.                      item                   [2]  ANY DEFINED BY identifier }
  880.                CommonResults ::= SET {
  881.                      [30] SecurityParameters  OPTIONAL,
  882.                      performer [29] DistinguishedName OPTIONAL,
  883.                      aliasDereferenced  [28] BOOLEAN DEFAULT FALSE}
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.                                                       Fascicle VIII.8 - Rec. X.511  PAGE27
  923.  
  924.                   -- common data types --
  925.                ServiceControls  ::= SET {
  926.                      options [0]      BIT STRING {
  927.                      preferChaining (0),
  928.                      chainingProhibited (1),
  929.                      localScope (2),
  930.                      dontUseCopy (3),
  931.                      dontDereferenceAliases(4)}
  932.                            DEFAULT{},
  933.                   priority [1] INTEGER {
  934.                       low (0),
  935.                       medium (1),
  936.                       high (2) } DEFAULT medium,
  937.                timeLimit [2]     INTEGER OPTIONAL,
  938.                sizeLimit [3]     INTEGER OPTIONAL,
  939.                scopeOfReferral [4]     INTEGER {
  940.                          dmd(0),
  941.                          country(1)}
  942.                          OPTIONAL }
  943.                EntryInformationSelection ::=  SET {
  944.                      attributeTypes
  945.                          CHOICE {
  946.                            allAttributes [0] NULL,
  947.                            select [1] SET OF AttributeType
  948.                            -- empty set implies no attributes
  949.                            -- are requested --}
  950.                          DEFAULT allAttributes NULL,
  951.                      infoTypes [2] INTEGER {
  952.                            attributeTypesOnly (0),
  953.                            attributeTypesAndValues (1) } DEFAULT
  954.                                    attributeTypesandValues }
  955.                EntryInformation  ::=  SEQUENCE {
  956.                      DistinguishedName,
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.          PAGE27  Fascicle VIII.8 - Rec. X.511
  994.  
  995.                      fromEntry BOOLEAN DEFAULT TRUE,
  996.                      SET OF CHOICE {
  997.                          AttributeType,
  998.                          Attribute} OPTIONAL }
  999.                Filter  ::= CHOICE {
  1000.                      item       [0]   FilterItem,
  1001.                      and   [1]   SET OF Filter,
  1002.                      or    [2]   SET OF Filter,
  1003.                      not   [3]   Filter }
  1004.                FilterItem  ::=  CHOICE {
  1005.                      equality   [0]  AttributeValueAssertion,
  1006.                      substrings [1]  SEQUENCE {
  1007.                          type    AttributeType,
  1008.                          strings SEQUENCE OF CHOICE {
  1009.                            initial     [0]   AttributeValue,
  1010.                            any   [1]   AttributeValue,
  1011.                            final [2]   AttributeValue}},
  1012.                   greaterOrEqual [2]   AttributeValueAssertion,
  1013.                          lessOrEqual         [3]   AttributeValueAssertion,
  1014.                          present             [4]   AttributeType,
  1015.                          approximateMatch    [5]   AttributeValueAssertion }
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.                                                       Fascicle VIII.8 - Rec. X.511  PAGE27
  1065.  
  1066.                   SecurityParameters ::=  SET {
  1067.                      certification-Path  [0]  CertificationPath OPTIONAL,
  1068.                      name       [1]   DistinguishedName OPTIONAL,
  1069.                      time             [2]   UTCTime OPTIONAL,
  1070.                      random     [3]   BIT STRING OPTIONAL,
  1071.                      target           [4]   ProtectionRequest OPTIONAL }
  1072.                ProtectionRequest ::=  INTEGER {
  1073.                                             none(0),
  1074.                                             signed (1)}
  1075.                                                    ANNEX B
  1076.                                      (to Recommendation X.511)
  1077.                                     Directory object identifiers
  1078.                This Annex is part of the standard.
  1079.                This Annex includes all of the ASN.1 object identifiers contained  in  this
  1080.          Recommendation in the form of the ASN.1 module "DirectoryObjectIdentifiers".
  1081.                DirectoryObjectIdentifiers {joint-ISO-CCITT ds(5) modules(1)
  1082.                                        directoryObjectIdentifiers(9)}
  1083.                DEFINITIONS  ::=
  1084.                BEGIN
  1085.                EXPORTS
  1086.                      id-ot-directory, id-ot-dua, id-pt-read, id-pt-search, id-pt-modify;
  1087.                IMPORTS
  1088.                      id-ot, id-pt
  1089.                   FROM UsefulDefinitions {joint-iso-ccitt ds(5) modules(1),
  1090.                                        usefulDefinitions(0)};
  1091.                -- Objects --
  1092.                id-ot-directory         OBJECT IDENTIFIER ::= {id-ot 1}
  1093.                id-ot-dua         OBJECT IDENTIFIER  ::= {id-ot 2}
  1094.                -- Port Types --
  1095.                id-pt-read              OBJECT IDENTIFIER  ::= {id-pt 1}
  1096.                id-pt-search                  OBJECT IDENTIFIER  ::= {id-pt 2}
  1097.                id-pt-modify                  OBJECT IDENTIFIER  ::= {id-pt 3}
  1098.                END
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.          PAGE27  Fascicle VIII.8 - Rec. X.511
  1136.  
  1137.